package com.bestcem.xm.user.controller.vo.group;

import com.bestcem.xm.user.controller.vo.PageRequestVO;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;

/**
 * 查询指定状态下的用户组列表搜索信息
 *
 * @author jishuo.yan <jishuo.yan@idiaoyan.com>
 * @version v1.0
 * @date 2022/02/10 14:52
 */
@Data
public class GroupsListRequestVO {

    /**
     * 组织名称或者组织编码
     */
    private String search;

    /**
     * 组织状态
     */
    @JsonProperty("group_status")
    private Integer groupStatus;

    /**
     * 当前组织父组织id,用来恢复到上级组织。
     */
    @JsonProperty("group_parent_id")
    private String groupParentId;

    /**
     * 指定某个层级上的所有层级，包不包括当前层级通过下面includeLowestLevelId来控制
     */
    @JsonProperty("lowest_level_id")
    private String lowestLevelId;

    /**
     * 是否包含指定的层级lowestLevelId
     */
    @JsonProperty("include_lowest_level_id")
    private Integer includeLowestLevelId;

    /**
     * 分页信息
     */
    @Valid
    @NotNull(message = "分页信息不能为空")
    private PageRequestVO page;
}
